[INFO] fetching crate rplidar_drv 0.6.0...
[INFO] checking rplidar_drv-0.6.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate rplidar_drv 0.6.0 into /workspace/builds/worker-3-tc1/source
[INFO] validating manifest of crates.io crate rplidar_drv 0.6.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate rplidar_drv 0.6.0
[INFO] finished tweaking crates.io crate rplidar_drv 0.6.0
[INFO] tweaked toml for crates.io crate rplidar_drv 0.6.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rpos_drv v0.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 97367983e66d3c9da71b8dcdef3af2494d372fa5f05c43fec90e64a0849d1f0d
[INFO] running `Command { std: "docker" "start" "-a" "97367983e66d3c9da71b8dcdef3af2494d372fa5f05c43fec90e64a0849d1f0d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "97367983e66d3c9da71b8dcdef3af2494d372fa5f05c43fec90e64a0849d1f0d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "97367983e66d3c9da71b8dcdef3af2494d372fa5f05c43fec90e64a0849d1f0d", kill_on_drop: false }`
[INFO] [stdout] 97367983e66d3c9da71b8dcdef3af2494d372fa5f05c43fec90e64a0849d1f0d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 51a5b80556247432543d78218727a8e534a1e2e01996a58169e86dc0a41fc02b
[INFO] running `Command { std: "docker" "start" "-a" "51a5b80556247432543d78218727a8e534a1e2e01996a58169e86dc0a41fc02b", kill_on_drop: false }`
[INFO] [stderr]    Compiling build_const v0.2.2
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking rpos_drv v0.2.0
[INFO] [stderr]    Compiling crc v1.8.1
[INFO] [stderr]     Checking rplidar_drv v0.6.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/answers.rs:145:71
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub const RPLIDAR_RESP_ACC_BOARD_FLAG_MOTOR_CTRL_SUPPORT_MASK : u32 = (0x1);
[INFO] [stdout]     |                                                                       ^   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 145 - pub const RPLIDAR_RESP_ACC_BOARD_FLAG_MOTOR_CTRL_SUPPORT_MASK : u32 = (0x1);
[INFO] [stdout] 145 + pub const RPLIDAR_RESP_ACC_BOARD_FLAG_MOTOR_CTRL_SUPPORT_MASK : u32 = 0x1;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]  --> src/capsuled_parser.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | const ANGLE_360_Q8: u32 = (360u32 << 8);
[INFO] [stdout]   |                           ^           ^
[INFO] [stdout]   |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]   |
[INFO] [stdout] 4 - const ANGLE_360_Q8: u32 = (360u32 << 8);
[INFO] [stdout] 4 + const ANGLE_360_Q8: u32 = 360u32 << 8;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]  --> src/capsuled_parser.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | const ANGLE_360_Q16: u32 = (360u32 << 16);
[INFO] [stdout]   |                            ^            ^
[INFO] [stdout]   |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]   |
[INFO] [stdout] 5 - const ANGLE_360_Q16: u32 = (360u32 << 16);
[INFO] [stdout] 5 + const ANGLE_360_Q16: u32 = 360u32 << 16;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/capsuled_parser.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         (0x2fu8 << RPLIDAR_RESP_MEASUREMENT_QUALITY_SHIFT)
[INFO] [stdout]    |         ^                                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 55 -         (0x2fu8 << RPLIDAR_RESP_MEASUREMENT_QUALITY_SHIFT)
[INFO] [stdout] 55 +         0x2fu8 << RPLIDAR_RESP_MEASUREMENT_QUALITY_SHIFT
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]   --> src/lib.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 | use rpos_drv::{Channel, Message, Result};
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the name `Result` in the type namespace is supposed to be publicly re-exported here
[INFO] [stdout]   --> src/lib.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use self::errors::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]   --> src/lib.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 | use rpos_drv::{Channel, Message, Result};
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    = note: `#[warn(hidden_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/answers.rs:145:71
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub const RPLIDAR_RESP_ACC_BOARD_FLAG_MOTOR_CTRL_SUPPORT_MASK : u32 = (0x1);
[INFO] [stdout]     |                                                                       ^   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 145 - pub const RPLIDAR_RESP_ACC_BOARD_FLAG_MOTOR_CTRL_SUPPORT_MASK : u32 = (0x1);
[INFO] [stdout] 145 + pub const RPLIDAR_RESP_ACC_BOARD_FLAG_MOTOR_CTRL_SUPPORT_MASK : u32 = 0x1;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]  --> src/capsuled_parser.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | const ANGLE_360_Q8: u32 = (360u32 << 8);
[INFO] [stdout]   |                           ^           ^
[INFO] [stdout]   |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]   |
[INFO] [stdout] 4 - const ANGLE_360_Q8: u32 = (360u32 << 8);
[INFO] [stdout] 4 + const ANGLE_360_Q8: u32 = 360u32 << 8;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]  --> src/capsuled_parser.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | const ANGLE_360_Q16: u32 = (360u32 << 16);
[INFO] [stdout]   |                            ^            ^
[INFO] [stdout]   |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]   |
[INFO] [stdout] 5 - const ANGLE_360_Q16: u32 = (360u32 << 16);
[INFO] [stdout] 5 + const ANGLE_360_Q16: u32 = 360u32 << 16;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/capsuled_parser.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         (0x2fu8 << RPLIDAR_RESP_MEASUREMENT_QUALITY_SHIFT)
[INFO] [stdout]    |         ^                                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 55 -         (0x2fu8 << RPLIDAR_RESP_MEASUREMENT_QUALITY_SHIFT)
[INFO] [stdout] 55 +         0x2fu8 << RPLIDAR_RESP_MEASUREMENT_QUALITY_SHIFT
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]   --> src/lib.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 | use rpos_drv::{Channel, Message, Result};
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the name `Result` in the type namespace is supposed to be publicly re-exported here
[INFO] [stdout]   --> src/lib.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use self::errors::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]   --> src/lib.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 | use rpos_drv::{Channel, Message, Result};
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    = note: `#[warn(hidden_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ultra_capsuled_parser.rs:138:27
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let cabin_count = unsafe { prev_capsule.ultra_cabins.len() };
[INFO] [stdout]     |                           ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/ultra_capsuled_parser.rs:138:36
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let cabin_count = unsafe { prev_capsule.ultra_cabins.len() };
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ultra_capsuled_parser.rs:138:27
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let cabin_count = unsafe { prev_capsule.ultra_cabins.len() };
[INFO] [stdout]     |                           ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/ultra_capsuled_parser.rs:138:36
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let cabin_count = unsafe { prev_capsule.ultra_cabins.len() };
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0793`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rplidar_drv` (lib) due to 2 previous errors; 6 warnings emitted
[INFO] [stdout] For more information about this error, try `rustc --explain E0793`.
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `rplidar_drv` (lib test) due to 2 previous errors; 6 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "51a5b80556247432543d78218727a8e534a1e2e01996a58169e86dc0a41fc02b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "51a5b80556247432543d78218727a8e534a1e2e01996a58169e86dc0a41fc02b", kill_on_drop: false }`
[INFO] [stdout] 51a5b80556247432543d78218727a8e534a1e2e01996a58169e86dc0a41fc02b
[INFO] checking rplidar_drv-0.6.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate rplidar_drv 0.6.0 into /workspace/builds/worker-3-tc2/source
[INFO] validating manifest of crates.io crate rplidar_drv 0.6.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate rplidar_drv 0.6.0
[INFO] finished tweaking crates.io crate rplidar_drv 0.6.0
[INFO] tweaked toml for crates.io crate rplidar_drv 0.6.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0d4c85067cfced363410f088119fdf9abadf1ba4585c6d314531044c75de9e3f
[INFO] running `Command { std: "docker" "start" "-a" "0d4c85067cfced363410f088119fdf9abadf1ba4585c6d314531044c75de9e3f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0d4c85067cfced363410f088119fdf9abadf1ba4585c6d314531044c75de9e3f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0d4c85067cfced363410f088119fdf9abadf1ba4585c6d314531044c75de9e3f", kill_on_drop: false }`
[INFO] [stdout] 0d4c85067cfced363410f088119fdf9abadf1ba4585c6d314531044c75de9e3f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8c61acefa4a27575082f025cec3a094b5f68011383a876e3c767a625e1642b72
[INFO] running `Command { std: "docker" "start" "-a" "8c61acefa4a27575082f025cec3a094b5f68011383a876e3c767a625e1642b72", kill_on_drop: false }`
[INFO] [stderr]    Compiling build_const v0.2.2
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking rpos_drv v0.2.0
[INFO] [stderr]    Compiling crc v1.8.1
[INFO] [stderr]     Checking rplidar_drv v0.6.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/answers.rs:145:71
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub const RPLIDAR_RESP_ACC_BOARD_FLAG_MOTOR_CTRL_SUPPORT_MASK : u32 = (0x1);
[INFO] [stdout]     |                                                                       ^   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 145 - pub const RPLIDAR_RESP_ACC_BOARD_FLAG_MOTOR_CTRL_SUPPORT_MASK : u32 = (0x1);
[INFO] [stdout] 145 + pub const RPLIDAR_RESP_ACC_BOARD_FLAG_MOTOR_CTRL_SUPPORT_MASK : u32 = 0x1;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]  --> src/capsuled_parser.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | const ANGLE_360_Q8: u32 = (360u32 << 8);
[INFO] [stdout]   |                           ^           ^
[INFO] [stdout]   |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]   |
[INFO] [stdout] 4 - const ANGLE_360_Q8: u32 = (360u32 << 8);
[INFO] [stdout] 4 + const ANGLE_360_Q8: u32 = 360u32 << 8;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]  --> src/capsuled_parser.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | const ANGLE_360_Q16: u32 = (360u32 << 16);
[INFO] [stdout]   |                            ^            ^
[INFO] [stdout]   |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]   |
[INFO] [stdout] 5 - const ANGLE_360_Q16: u32 = (360u32 << 16);
[INFO] [stdout] 5 + const ANGLE_360_Q16: u32 = 360u32 << 16;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/capsuled_parser.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         (0x2fu8 << RPLIDAR_RESP_MEASUREMENT_QUALITY_SHIFT)
[INFO] [stdout]    |         ^                                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 55 -         (0x2fu8 << RPLIDAR_RESP_MEASUREMENT_QUALITY_SHIFT)
[INFO] [stdout] 55 +         0x2fu8 << RPLIDAR_RESP_MEASUREMENT_QUALITY_SHIFT
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/ultra_capsuled_parser.rs:45:14
[INFO] [stdout]    |
[INFO] [stdout] 45 |     for i in 0..RPLIDAR_VARBIT_SCALE_SCALE_BASES.len() {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ultra_capsuled_parser.rs:140:18
[INFO] [stdout]     |
[INFO] [stdout] 140 |         for i in 0..cabin_count {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/checksum.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 26 |         for i in 0..data.len() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/protocol.rs:90:37
[INFO] [stdout]    |
[INFO] [stdout] 90 |             .extend_from_slice(&buf[0..bytes_actual_read]);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/protocol.rs:116:37
[INFO] [stdout]     |
[INFO] [stdout] 116 |             .extend_from_slice(&buf[0..bytes_actual_read]);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/protocol.rs:134:72
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let size_q30_subtype = LittleEndian::read_u32(&self.ans_header[0..4]);
[INFO] [stdout]     |                                                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/protocol.rs:148:54
[INFO] [stdout]     |
[INFO] [stdout] 148 |                     i += self.decode_sync_bytes(&buf[i..buf.len()])?;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/protocol.rs:151:67
[INFO] [stdout]     |
[INFO] [stdout] 151 |                     let (read, msg) = self.decode_ans_header(&buf[i..buf.len()])?;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/answers.rs:145:71
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub const RPLIDAR_RESP_ACC_BOARD_FLAG_MOTOR_CTRL_SUPPORT_MASK : u32 = (0x1);
[INFO] [stdout]     |                                                                       ^   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 145 - pub const RPLIDAR_RESP_ACC_BOARD_FLAG_MOTOR_CTRL_SUPPORT_MASK : u32 = (0x1);
[INFO] [stdout] 145 + pub const RPLIDAR_RESP_ACC_BOARD_FLAG_MOTOR_CTRL_SUPPORT_MASK : u32 = 0x1;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/protocol.rs:158:65
[INFO] [stdout]     |
[INFO] [stdout] 158 |                     let (read, msg) = self.decode_response(&buf[i..buf.len()])?;
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/protocol.rs:202:40
[INFO] [stdout]     |
[INFO] [stdout] 202 |             checksum.push_slice(&bytes[0..2]);
[INFO] [stdout]     |                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/protocol.rs:207:19
[INFO] [stdout]     |
[INFO] [stdout] 207 |             bytes[3..3 + msg.data.len()].clone_from_slice(&msg.data);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/protocol.rs:233:54
[INFO] [stdout]     |
[INFO] [stdout] 233 |         let encoded_size = self.encode(msg, &mut buf[0..estimated_encoded_size])?;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]  --> src/capsuled_parser.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | const ANGLE_360_Q8: u32 = (360u32 << 8);
[INFO] [stdout]   |                           ^           ^
[INFO] [stdout]   |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]   |
[INFO] [stdout] 4 - const ANGLE_360_Q8: u32 = (360u32 << 8);
[INFO] [stdout] 4 + const ANGLE_360_Q8: u32 = 360u32 << 8;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/protocol.rs:234:42
[INFO] [stdout]     |
[INFO] [stdout] 234 |         return match dest.write_all(&buf[0..encoded_size]) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]  --> src/utils.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 |     for i in 0..scan.len() {
[INFO] [stdout]   |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/utils.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 |     for i in 0..scan.len() {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]  --> src/capsuled_parser.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | const ANGLE_360_Q16: u32 = (360u32 << 16);
[INFO] [stdout]   |                            ^            ^
[INFO] [stdout]   |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]   |
[INFO] [stdout] 5 - const ANGLE_360_Q16: u32 = (360u32 << 16);
[INFO] [stdout] 5 + const ANGLE_360_Q16: u32 = 360u32 << 16;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/utils.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 50 |         for i in tail_index+1..scan.len() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/utils.rs:76:14
[INFO] [stdout]    |
[INFO] [stdout] 76 |     for i in 1..scan.len() {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/capsuled_parser.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         (0x2fu8 << RPLIDAR_RESP_MEASUREMENT_QUALITY_SHIFT)
[INFO] [stdout]    |         ^                                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 55 -         (0x2fu8 << RPLIDAR_RESP_MEASUREMENT_QUALITY_SHIFT)
[INFO] [stdout] 55 +         0x2fu8 << RPLIDAR_RESP_MEASUREMENT_QUALITY_SHIFT
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/ultra_capsuled_parser.rs:45:14
[INFO] [stdout]    |
[INFO] [stdout] 45 |     for i in 0..RPLIDAR_VARBIT_SCALE_SCALE_BASES.len() {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]   --> src/lib.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 | use rpos_drv::{Channel, Message, Result};
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the name `Result` in the type namespace is supposed to be publicly re-exported here
[INFO] [stdout]   --> src/lib.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use self::errors::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]   --> src/lib.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 | use rpos_drv::{Channel, Message, Result};
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    = note: `#[warn(hidden_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:213:62
[INFO] [stdout]     |
[INFO] [stdout] 213 |                 || LittleEndian::read_u32(&response_msg.data[0..4]) != config_type
[INFO] [stdout]     |                                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ultra_capsuled_parser.rs:140:18
[INFO] [stdout]     |
[INFO] [stdout] 140 |         for i in 0..cabin_count {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:379:22
[INFO] [stdout]     |
[INFO] [stdout] 379 |             for i in 0..scan_mode_count {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/checksum.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 26 |         for i in 0..data.len() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:594:22
[INFO] [stdout]     |
[INFO] [stdout] 594 |             for i in end..self.cached_measurement_nodes.len() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/protocol.rs:90:37
[INFO] [stdout]    |
[INFO] [stdout] 90 |             .extend_from_slice(&buf[0..bytes_actual_read]);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:605:18
[INFO] [stdout]     |
[INFO] [stdout] 605 |         for _ in 0..end {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lib.rs:678:35
[INFO] [stdout]     |
[INFO] [stdout] 678 |     checksum.push_slice(&msg.data[2..]);
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:696:51
[INFO] [stdout]     |
[INFO] [stdout] 696 |     let checksum = crc32::checksum_ieee(&msg.data[0..msg.data.len()-4]);
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:697:58
[INFO] [stdout]     |
[INFO] [stdout] 697 |     let recv_checksum = LittleEndian::read_u32(&msg.data[msg.data.len()-4..msg.data.len()]);
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/protocol.rs:116:37
[INFO] [stdout]     |
[INFO] [stdout] 116 |             .extend_from_slice(&buf[0..bytes_actual_read]);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/protocol.rs:134:72
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let size_q30_subtype = LittleEndian::read_u32(&self.ans_header[0..4]);
[INFO] [stdout]     |                                                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/protocol.rs:148:54
[INFO] [stdout]     |
[INFO] [stdout] 148 |                     i += self.decode_sync_bytes(&buf[i..buf.len()])?;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/protocol.rs:151:67
[INFO] [stdout]     |
[INFO] [stdout] 151 |                     let (read, msg) = self.decode_ans_header(&buf[i..buf.len()])?;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/protocol.rs:158:65
[INFO] [stdout]     |
[INFO] [stdout] 158 |                     let (read, msg) = self.decode_response(&buf[i..buf.len()])?;
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/protocol.rs:202:40
[INFO] [stdout]     |
[INFO] [stdout] 202 |             checksum.push_slice(&bytes[0..2]);
[INFO] [stdout]     |                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/protocol.rs:207:19
[INFO] [stdout]     |
[INFO] [stdout] 207 |             bytes[3..3 + msg.data.len()].clone_from_slice(&msg.data);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/protocol.rs:233:54
[INFO] [stdout]     |
[INFO] [stdout] 233 |         let encoded_size = self.encode(msg, &mut buf[0..estimated_encoded_size])?;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/protocol.rs:234:42
[INFO] [stdout]     |
[INFO] [stdout] 234 |         return match dest.write_all(&buf[0..encoded_size]) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/protocol.rs:252:60
[INFO] [stdout]     |
[INFO] [stdout] 252 |         let encoded_bytes = protocol.encode(&msg, &mut buf[0..encoded_bytes])?;
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]  --> src/utils.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 |     for i in 0..scan.len() {
[INFO] [stdout]   |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/utils.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 |     for i in 0..scan.len() {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/utils.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 50 |         for i in tail_index+1..scan.len() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/utils.rs:76:14
[INFO] [stdout]    |
[INFO] [stdout] 76 |     for i in 1..scan.len() {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: private item shadows public glob re-export
[INFO] [stdout]   --> src/lib.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 | use rpos_drv::{Channel, Message, Result};
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the name `Result` in the type namespace is supposed to be publicly re-exported here
[INFO] [stdout]   --> src/lib.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use self::errors::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] note: but the private item here shadows it
[INFO] [stdout]   --> src/lib.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 | use rpos_drv::{Channel, Message, Result};
[INFO] [stdout]    |                                  ^^^^^^
[INFO] [stdout]    = note: `#[warn(hidden_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:213:62
[INFO] [stdout]     |
[INFO] [stdout] 213 |                 || LittleEndian::read_u32(&response_msg.data[0..4]) != config_type
[INFO] [stdout]     |                                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:379:22
[INFO] [stdout]     |
[INFO] [stdout] 379 |             for i in 0..scan_mode_count {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:594:22
[INFO] [stdout]     |
[INFO] [stdout] 594 |             for i in end..self.cached_measurement_nodes.len() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:605:18
[INFO] [stdout]     |
[INFO] [stdout] 605 |         for _ in 0..end {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/lib.rs:678:35
[INFO] [stdout]     |
[INFO] [stdout] 678 |     checksum.push_slice(&msg.data[2..]);
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:696:51
[INFO] [stdout]     |
[INFO] [stdout] 696 |     let checksum = crc32::checksum_ieee(&msg.data[0..msg.data.len()-4]);
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:697:58
[INFO] [stdout]     |
[INFO] [stdout] 697 |     let recv_checksum = LittleEndian::read_u32(&msg.data[msg.data.len()-4..msg.data.len()]);
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ultra_capsuled_parser.rs:138:27
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let cabin_count = unsafe { prev_capsule.ultra_cabins.len() };
[INFO] [stdout]     |                           ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/ultra_capsuled_parser.rs:138:36
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let cabin_count = unsafe { prev_capsule.ultra_cabins.len() };
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/ultra_capsuled_parser.rs:138:27
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let cabin_count = unsafe { prev_capsule.ultra_cabins.len() };
[INFO] [stdout]     |                           ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]    --> src/ultra_capsuled_parser.rs:138:36
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let cabin_count = unsafe { prev_capsule.ultra_cabins.len() };
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 30 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0793`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rplidar_drv` (lib) due to 2 previous errors; 30 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 1 previous error; 31 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0793`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rplidar_drv` (lib test) due to 2 previous errors; 31 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "8c61acefa4a27575082f025cec3a094b5f68011383a876e3c767a625e1642b72", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8c61acefa4a27575082f025cec3a094b5f68011383a876e3c767a625e1642b72", kill_on_drop: false }`
[INFO] [stdout] 8c61acefa4a27575082f025cec3a094b5f68011383a876e3c767a625e1642b72
